version: '3.8'

services:
  db:
    image: postgres:12.4
    volumes:
      - postgres_data:/var/lib/postgresql/data/
    env_file:
      - ./.env
  web:
    image: ebudaev/yamdb_final:v1
    restart: always
    volumes:
      # Контейнер web будет работать с данными, хранящиеся в томе static_value,
      # через свою директорию /code/static/
      - static_value:/code/static/

      # Данные, хранящиеся в томе media_value, будут доступны в контейнере web
      # через директорию /code/media/
      - media_value:/code/media/
    depends_on:
      - db
    env_file:
      - ./.env

  # Новый контейнер
  nginx:
    # образ, из которого должен быть запущен контейнер
    image: nginx:1.19.3

    # запросы с внешнего порта 80 перенаправляем на внутренний порт 80
    ports:
      - "80:80"

    volumes:
      # При сборке скопировать созданный нами конфиг nginx из исходной директории
      # в контейнер и сохранить его в директорию /etc/nginx/conf.d/
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf

      # Контейнер nginx будет работать с данными, хранящиеся в томе static_value,
      # через свою директорию /var/html/static/
      - static_value:/var/html/static/

      # Данные, хранящиеся в томе media_value, будут доступны в контейнере nginx
      # через директорию /var/html/media/
      - media_value:/var/html/media/

    depends_on:
      # Контейнер nginx должен быть запущен после контейнера web
      - web

volumes:
  postgres_data:
  # Добавляем новые тома
  static_value:
  media_value:
